Text enhancement

ABSTRACT

A method including receiving text authored by a user to create a text message; interpreting a meaning of the text; determining a mood of the user; obtaining contextual information, wherein the contextual information comprises at least one of time of day, day of the week, whether it is a holiday, a user location, or a relationship between the user and a recipient of the text message; selecting a classification for the text message based on the meaning of the text, the mood of the user, and the contextual information; displaying text enhancements for the text message from which the user can select, wherein the text enhancements are based on the classification; receiving a user selection for the text enhancements; including the user selected text enhancements with the text message; and sending the text message with the text enhancements to a recipient.

BACKGROUND

In recent years, there has been a tremendous upsurge in the use of textmessaging as a form of communication. There are a variety of types oftext messages, such as, for example, an e-mail message, a shortmessaging service (SMS) message, a multimedia messaging service (MMS)message, an instant message (IM), or the like.

SUMMARY

According to an exemplary implementation, a method may comprisereceiving, by a user device, text authored by a user to create a textmessage; interpreting a meaning of the text; determining a mood of theuser; obtaining contextual information associated with the text message,wherein the contextual information includes relationship informationbetween the user and a recipient of the text message; selecting, by theuser device, a classification for the text message based on a least oneof the meaning of the text, the mood of the user, or the contextualinformation; and displaying, by the user device, text enhancements forthe text message from which the user can select, wherein the textenhancements are based on the classification.

Additionally, the text enhancements may comprise at least one of a fontsize, a font weight, a font style, an animation, an image, an emoticon,a color, or a vibrational pattern.

Additionally, the contextual information may further comprise at leastone of a user's location, a time of day, a day of a week, or whether itis a holiday. The method may comprise determining a location of theuser.

Additionally, the method may further comprise receiving a user selectionfor the text enhancements; including the selected text enhancements withthe text message; and sending the text message with the selected textenhancements to the recipient.

Additionally, the method may further comprise comparing a confidencevalue associated with the classification to a threshold value;determining that a certainty level is met when the confidence valueexceeds the threshold value; and displaying the text enhancements to theuser when the confidence value exceeds the threshold value.

Additionally, the method may further comprise adding metadata to thetext message, wherein the metadata indicates that the text messageincludes the text enhancements; and sending the text message with thetext enhancements and the metadata to the recipient.

Additionally, the method may further comprise receiving the text messagewith the text enhancements and the metadata; determining whether thetext message includes the metadata; and displaying the text message withthe text enhancements when the text message includes the metadata.

Additionally, the method may further comprise determining that thecertainty level is not met when the confidence value does not exceed thethreshold value; omitting to display the text enhancements to the textmessage from which the user can select when the certainty level is notmet; and sending the text message to the recipient.

Additionally, the method may further comprise receiving a text message;determining whether the received text message includes metadata, whereinthe metadata indicates that the received text message includes textenhancements; interpreting a meaning of the received text message whenthe received text message does not include the metadata; and displayingthe text message with text enhancements based on the meaning of thereceived text message.

According to another implementation, a user device may comprisecomponents configured to receive text authored by a user to create atext message; interpret a meaning of the text; determine a mood of theuser; select a classification for the text message based on the meaningof the text and the mood of the user; display text enhancements for thetext message from which the user can select, wherein the textenhancements are based on the classification; receive a selection by theuser for the text enhancements; include the text enhancements selectedby the user with the text message; and send the text message with thetext enhancements to a recipient.

Additionally, the user device may comprise a radio telephone.

Additionally, the text message may comprise one of an e-mail, amultimedia messaging service message, or an instant message, and thetext enhancements may comprise at least one of a font size, a fontweight, a font style, an animation, an image, an emoticon, a color, or avibrational pattern.

Additionally, the user device may be further configured to obtain afacial expression of the user; determine the mood of the user based onthe facial expression; and when selecting a classification, the userdevice may be further configured to map the mood of the user and themeaning of the text to the classification; and determine whether aconfidence value associated with the classification exceeds a thresholdvalue.

Additionally, the user device may be further configured to obtaincontextual information associated with the text, wherein the contextualinformation comprises a one or more of a user location or a relationshipbetween the user and the recipient; and when selecting theclassification, the user device may be further configured to select theclassification for the text message based on the contextual information.

Additionally, the user device may be further configured to store andmanage a mapping between classifications and meanings of text, moods,and contextual information; and store and manage a mapping betweenclassifications and text enhancements.

Additionally, the user device may be further configured to receive atext message; determine whether the received text message includesmetadata, wherein the metadata indicates that the received text messageincludes text enhancements; interpret a meaning of the received textmessage when the received text message does not include the metadata;display the text message with text enhancements based on the meaning ofthe received text message.

Additionally, the user device may be further configured to select aclassification for the received text message based on the meaning of thereceived text message; and select text enhancements based on theclassification of the received text message.

According to yet another implementation, a computer-readable medium mayinclude instructions executable by at least one processing system. Thecomputer-readable medium may store instructions to receive text authoredby a user to create a text message; interpret a meaning of the text;determine a mood of the user; obtain contextual information, wherein thecontextual information comprises at least one of time of day, day of theweek, whether it is a holiday, a user location, or a relationshipbetween the user and a recipient of the text message; select aclassification for the text message based on the meaning of the text,the mood of the user, and the contextual information; display textenhancements for the text message from which the user can select,wherein the text enhancements are based on the classification; receive auser selection for the text enhancements; include the user selected textenhancements with the text message; and send the text message with thetext enhancements to the recipient.

Additionally, the computer-readable medium may reside in a user devicethat comprises a radio telephone.

Additionally, the computer-readable medium may store instructions toaccess a social network associated with the user; determine therelationship between the user and the recipient based on the accessing;and associate relationship information with a contact entry of acontacts list stored by the user device.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate exemplary embodiments describedherein and, together with the description, explain these exemplaryembodiments. In the drawings:

FIGS. 1A-1C are diagrams illustrating an exemplary environment in whichan exemplary embodiment for providing text enhancements may beimplemented;

FIG. 1D is a diagram illustrating an exemplary text message thatincludes text enhancements;

FIG. 2 is a diagram illustrating an exemplary user device in whichexemplary embodiments described herein may be implemented;

FIG. 3 is a diagram illustrating exemplary components of the userdevice;

FIG. 4 is a diagram illustrating exemplary functional components of theuser device;

FIG. 5A is a diagram illustrating exemplary processes performed by thefunctional components described with respect to FIG. 4;

FIG. 5B is a diagram illustrating an exemplary classification table;

FIG. 5C is a diagram illustrating an exemplary text enhancement table;

FIGS. 6A and 6B are flow diagrams illustrating an exemplary process forproviding text enhancements at a sending user device; and

FIGS. 7A and 7B are diagrams illustrating an exemplary process forproviding text enhancements at a receiving user device.

DETAILED DESCRIPTION

The following detailed description refers to the accompanying drawings.The same reference numbers in different drawings may identify the sameor similar elements. Also, the following description does not limit theinvention, which is defined by the claims.

The term “text message,” as used herein, is intended to be broadlyinterpreted to include a message that includes text. For example, a textmessage may include an SMS message, an MMS message, or other types oftext messages (e.g., e-mail, etc.).

OVERVIEW

According to an exemplary embodiment, when a user authors a textmessage, the text message may be analyzed using natural languageprocessing. For example, the natural language processing may identifysubject, verb, object, semantics, etc., associated with the textmessage. Additionally, contextual information associated with the textmessage may be obtained. For example, contextual information may includetime (e.g., time of day, day of the week, whether it is a holiday,etc.), location of the user, mood of the user, relationship information(e.g., relationship of user to recipient, such as, brother, girlfriend,family member, etc.), etc. According to an exemplary embodiment, thetext message may be analyzed to determine a classification for the textmessage. For example, machine learning classifiers may be used. The textmessage may be classified based on the information provided from thenatural language processing, as well as other types of information, suchas, for example, contextual information. The machine learningclassifiers may classify a text message as, for example, a happymessage, a sad message, a querying message, an informational message,etc.

According to an exemplary embodiment, text enhancements may be proposedto the user based on the classification of the text message. The textenhancements may include, for example, proposed images to include withthe text message, proposed font styles, font weights, font sizes,animation, emoticons, or the like. According to an exemplaryimplementation, the text enhancements may be proposed to the user when acertainty level exceeds a threshold value (i.e., when a measure ofassurance exists that the text message is classified correctly,understood correctly, etc.). The user may then select from the proposedtext enhancements and send the text message that includes textenhancements. According to an exemplary implementation, metadata may beadded to the text message to indicate to, for example, a receivingmessaging client that the text message includes text enhancements.

According to an exemplary embodiment, at a receiving end, when the textmessage is received, it may be determined whether metadata exists toindicate if the text message includes text enhancements. If the textmessage includes text enhancements (e.g., metadata exists), thereceiving user may select whether to accept the text enhancements ornot, or the receiving user device may simply display the text messagewith the text enhancements. On the other hand, if the text message doesnot include text enhancements (e.g., metadata does not exist), textenhancements may be included with the text message, as described above.However, according to an embodiment, the text enhancements may not bebased on user-related information (e.g., mood of the sender, etc.).According to an exemplary implementation, the text enhancements may beincluded when the certainty level exceeds a threshold value. In suchinstances, according to an exemplary implementation, the textenhancements may be automatically included with the text message,without providing a selection of text enhancements to the receivinguser. Conversely, when the certainty level does not exceed the thresholdvalue, text enhancements may not be included with the text message.

Exemplary Environment

FIG. 1A is a diagram illustrating an exemplary environment 100 in whichan exemplary embodiment for providing text enhancement may beimplemented. As illustrated in FIG. 1A, environment 100 may includeusers 105-1 and 105-2 and user devices 110-1 and 110-2 (referred togenerally as user device 110 or user devices 110). Environment 100 mayinclude wired and/or wireless connections between user devices 110.

The number of devices and configuration in environment 100 is exemplaryand provided for simplicity. In practice, environment 100 may includeadditional devices, fewer devices, different devices, and/or differentlyarranged devices than those illustrated in FIG. 1A. For example,environment 100 may include a network to allow users 105-1 and 105-2 tocommunicate with one another.

User device 110 may correspond to a portable device, a mobile device, ahandheld device, or a stationary device. By way of example, user device110 may comprise a telephone (e.g., a smart phone, a radio telephone, acellular phone, an Internet Protocol (IP) telephone, etc.), a personaldigital assistant (PDA) device, a computer (e.g., a tablet computer, alaptop computer, a palmtop computer, a desktop computer, etc.), and/orsome other type of end device. User device 110 may provide textenhancement, as described further below.

Referring to FIG. 1A, according to an exemplary scenario, user 105-1 maywish to author a text message 115 to user 105-2. User 105-1 may open atext messaging client and begin authoring text message 115. As textmessage 115 is being authored, user device 110-1 may perform 120 naturallanguage processing. The natural language processing may determine,among other things, the semantics or meaning of text message 115.Additionally, according to an exemplary implementation, user device110-1 may determine 125 an emotional state (e.g., mood) of user 105-1based on a facial expression of user 105-1 and/or other methods (e.g.,galvanic skin response (GSR) methods). Although not illustrated, userdevice 110-1 may obtain other types of contextual information, such as,for example, the day of the week, the location of user 105-1, the timeof day, whether it is a holiday, relationship of recipient (e.g., user105-2) to user 105-1, etc. For example, user device 110-1 may accesssocial network(s) with which user 105-1 belongs to identify arelationship between user 105-1 and the recipient, may access a contactslist stored on user device 105-1, etc.

Referring to FIG. 1B, user device 105-1 may classify 130 text message115. For example, a machine learning classifier component may select aclassification for text message 115 based on the natural languageprocessing, the emotional state of user 105-1, and contextualinformation. In this example, according to an exemplary implementation,user device 110-1 may also determine whether a certainty levelassociated with the selected classification exceeds a threshold value.In this example, it may be assumed that the certainty level exceeds thethreshold value, in which case, as further illustrated, user device110-1 may provide 135 text enhancements options from which user 105-1may select. The text enhancement options may include image(s), text fontstyle(s), font weight(s), font size(s), emoticon(s), and/or animationthat correspond to the classification. In this example, user 105-1 mayselect 140 from the text enhancement options presented and send textmessage 115 to user 105-2, as illustrated in FIG. 1C. User device 110-1may also include metadata to indicate that text enhancements areincluded with text message 115. As further illustrated, according to anexemplary embodiment, when text message 115 including text enhancementsis received by user device 110-1, user device 110-2 may determine 145that metadata exists. User device 110-2 may display text message 115including text enhancements to user 105-2.

FIG. 1D is a diagram illustrating an exemplary text message 115 thatincludes text enhancement 150. For example, the original text messageauthored by user 105-1 may have read “I love you, Annsofie.” In thisexample, user device 110-1 may classify text message 115 as romantic.For example, the natural language processing may determine the semanticsof text message 115. User device 110-1 may also evaluate user's 105-1facial expression (e.g., based an image(s) of user 105-1) and determinethat user 105-1 has a happy and/or romantic mood/facial expression. Userdevice 110-1 may also recognize a relationship between user 105-1 anduser 105-2. For example, user device 110-1 may store relationshipinformation associated with user's 105-2 contact entry. According to anexemplary embodiment, user device 110-1 may access a social network towhich user 105-1 belongs to update contact list entries (e.g., abackground process, a user-invoked process, etc.). In this way, userdevice 110-1 may distinguish between immediate family, friends, businesscolleagues, etc. In this example, user 105-1 and user 105-2 may beboyfriend and girlfriend. Additionally, user device 110-1 may recognizethat it is Valentine's Day. Based on the above, user device 110-1determines a level of certainty that exceeds a threshold level withrespect to a romantic classification. In this example, user device 110-1was able to distinguish the romantic classification (e.g., when user105-2 is user's 105-1 girlfriend) versus, for example, a familial loveclassification (e.g., when user 105-2 is user's 105-1 mother or sister)based on the relationship information.

As illustrated, text enhancements 150 may include a text style, size,and weight 155, an animation 160, and a background image 165. By way ofexample, text style, size, and weight 155 may include a cursive textstyle, in bold, with a medium font size. Additionally, animation 160 mayinclude an animation of someone giving a hug. As further illustrated,for example, background image 165 may include a bed of roses.

As a result of the foregoing, a text message may be enhanced. Since anexemplary embodiment of text enhancement has been broadly described, adetailed description that includes variations to the above is describedfurther below.

Exemplary User Device

FIG. 2 is a diagram of an exemplary user device 110 in which exemplaryembodiments described herein may be implemented. As illustrated in FIG.2, user device 110 may comprise a housing 205, a microphone 210,speakers 215, keys 220, and a display 225. According to otherembodiments, user device 110 may comprise fewer components, additionalcomponents, different components, and/or a different arrangement ofcomponents than those illustrated in FIG. 2 and described herein. Forexample, in some implementations, user device 110 may include a camera.Additionally, user device 110 may take the form of a differentconfiguration (e.g., a slider device, a clamshell device, etc.) than theconfiguration illustrated in FIG. 2.

Housing 205 may comprise a structure to contain components of userdevice 110. For example, housing 205 may be formed from plastic, metal,or some other type of material. Housing 205 may support microphone 210,speakers 215, keys 220, and display 225.

Microphone 210 may transduce a sound wave to a corresponding electricalsignal. For example, a user may speak into microphone 210 during atelephone call or to execute a voice command. Speakers 215 may transducean electrical signal to a corresponding sound wave. For example, a usermay listen to music or listen to a calling party through speakers 215.

Keys 220 may provide input to user device 110. For example, keys 220 maycomprise a standard telephone keypad, a QWERTY keypad, and/or some othertype of keypad (e.g., a calculator keypad, a numerical keypad, etc.).Keys 220 may also comprise special purpose keys to provide a particularfunction (e.g., send, call, e-mail, etc.).

Display 225 may operate as an output component. For example, display 225may comprise a liquid crystal display (LCD), a plasma display panel(PDP), a field emission display (FED), a thin film transistor (TFT)display, or some other type of display technology.

Additionally, according to an exemplary implementation, display 225 mayoperate as an input component. For example, display 225 may comprise atouch-sensitive screen. In such instances, display 225 may correspond toa single-point input device (e.g., capable of sensing a single touch) ora multipoint input device (e.g., capable of sensing multiple touchesthat occur at the same time). Further, display 225 may be implementedusing a variety of sensing technologies, including but not limited to,capacitive sensing, surface acoustic wave sensing, resistive sensing,optical sensing, pressure sensing, infrared sensing, or gesture sensing.Display 225 may also comprise an auto-rotating function.

Display 225 may be capable of displaying text, pictures, and/or video.Display 225 may also be capable of displaying various images (e.g.,icons, objects, etc.) that may be selected by a user to access variousapplications, enter data, and/or navigate, etc.

FIG. 3 is a diagram illustrating exemplary components of user device110. As illustrated, user device 110 may comprise a processing system305, a memory/storage 310 that may comprise applications 315, acommunication interface 320, an input 325, and an output 330. Accordingto other embodiments, user device 110 may comprise fewer components,additional components, different components, or a different arrangementof components than those illustrated in FIG. 3 and described herein.

Processing system 305 may comprise one or multiple processors,microprocessors, co-processors, application specific integrated circuits(ASICs), controllers, programmable logic devices, chipsets, fieldprogrammable gate arrays (FPGAs), application specific instruction-setprocessors (ASIPs), system-on-chips (SOCs), and/or some other componentthat may interpret and/or execute instructions and/or data. Processingsystem 305 may control the overall operation or a portion ofoperation(s) performed by user device 110. Processing system 305 mayperform one or more operations based on an operating system and/orvarious applications (e.g., applications 315).

Processing system 305 may access instructions from memory/storage 310,from other components of user device 110, and/or from a source externalto user device 110 (e.g., a network or another device).

Memory/storage 310 may comprise one or multiple memories and/or one ormultiple secondary storages. For example, memory/storage 310 maycomprise a random access memory (RAM), a dynamic random access memory(DRAM), a read only memory (ROM), a programmable read only memory(PROM), a flash memory, and/or some other type of memory. Memory/storage310 may comprise a hard disk (e.g., a magnetic disk, an optical disk, amagneto-optic disk, a solid state disk, etc.) or some other type ofcomputer-readable medium, along with a corresponding drive.Memory/storage 310 may also comprise a memory, a storage device, orstorage component that is external to and/or removable from user device110, such as, for example, a Universal Serial Bus (USB) memory, adongle, a hard disk, mass storage, off-line storage, etc.

The term “computer-readable medium,” as used herein, is intended to bebroadly interpreted to comprise, for example, a memory, a secondarystorage, a compact disc (CD), a digital versatile disc (DVD), or thelike. The computer-readable medium may be implemented in a singledevice, in multiple devices, in a centralized manner, or in adistributed manner. Memory/storage 310 may store data, application(s),and/or instructions related to the operation of user device 110.

Memory/storage 310 may store data, applications 315, and/or instructionsrelated to the operation of user device 110. Applications 315 maycomprise software that provides various services or functions. By way ofexample, but not limited thereto, applications 315 may comprise atelephone application, a voice recognition application, a videoapplication, a multi-media application, a music player application, acontacts application, a calendar application, an instant messagingapplication, a web browsing application, a location-based application(e.g., a Global Positioning System (GPS)-based application, etc.), ablogging application, and/or other types of applications (e.g., a wordprocessing application, a facial expression/recognition application,etc.). Applications 315 may comprise one or more applications forproposing text enhancements, converting a text message to a text messagewith text enhancements, as well as other processes described in thisdescription in relation to text enhancement.

Communication interface 320 may permit user device 110 to communicatewith other devices, networks, and/or systems. For example, communicationinterface 320 may comprise one or multiple wireless and/or wiredcommunication interfaces. Communication interface 320 may comprise atransmitter, a receiver, and/or a transceiver. Communication interface320 may operate according to various protocols, communication standards,or the like.

Input 325 may permit an input into user device 110. For example, input325 may comprise microphone 210, keys 220, display 225, a touchpad, abutton, a switch, an input port, voice recognition logic, fingerprintrecognition logic, a web cam, and/or some other type of visual,auditory, tactile, etc., input component. Output 330 may permit userdevice 110 to provide an output. For example, output 330 may comprisespeakers 215, display 225, one or more light emitting diodes (LEDs), anoutput port, a vibratory mechanism, and/or some other type of visual,auditory, tactile, etc., output component.

User device 110 may perform operations in response to processing system305 executing software instructions contained in a computer-readablemedium, such as memory/storage 310. For example, the softwareinstructions may be read into memory/storage 310 from anothercomputer-readable medium or from another device via communicationinterface 320. The software instructions stored in memory/storage 310may cause processing system 305 to perform various processes describedherein. Alternatively, user device 110 may perform processes based onhardware, hardware and firmware, and/or hardware, software and firmware.

FIG. 4 is a diagram illustrating exemplary functional components of userdevice 110. As illustrated, user device 110 may include a naturallanguage component 405, a user mood component 410, a contextual providercomponent 415, a machine learning classifier 420, and a text enhancercomponent 425. Natural language component 405, user mood component 410,contextual provider component 415, machine learning classifier 420,and/or text enhancer component 425 may be implemented as a combinationof hardware (e.g., processing system 305, etc.) and software (e.g.,applications 315, etc.) based on the components illustrated anddescribed with respect to FIG. 3. Alternatively, natural languagecomponent 405, user mood component 410, contextual provider component415, machine learning classifier 420, and/or text enhancer component 425may be implemented as hardware, hardware and firmware, or hardware,software, and firmware based on the components illustrated and describedwith respect to FIG. 3.

Natural language component 405 may perform natural language processingon text. Natural language component 405 may use conventional techniques(e.g., symbolic approaches, statistical approaches, connectionistapproaches, machine learning approaches, etc.) to accomplish sentenceunderstanding and extraction of semantics, determine proper parsing,assign parts of speech to each word (e.g., noun, adjective, verb,object, subject, etc.), provide text categorization/classification, etc.Natural language component 405 may evaluate a mood of the user based onthe content of a text message.

User mood component 410 may determine a mood of a user. For example,according to exemplary implementation, user device 110 may include animage capturing component (e.g., a camera). User mood component 410 mayinclude a facial expression/recognition component to determine the moodof the user based on an image captured by the image capturing component.Additionally, according to an exemplary implementation, user moodcomponent 410 may include a sensor to obtain GSR responses.

Contextual provider component 415 may provide contextual informationassociated with text. For example, contextual provider component 415 maydetermine the user's location using various methods (e.g., GPS, indoorpositioning, cell tower location, etc.), determine a time of day,determine a day of week, and/or determine whether it is a holiday (e.g.,based on a calendar).

Contextual provider component 415 may determine a relationship betweenthe user and a recipient of the text message. For example, contextualprovider component 415 may compare the name of the recipient with theuser, which may be stored in a contacts list. Contextual providercomponent 415 may infer relationships (e.g., immediate family orrelative) when last names are the same. Additionally, or alternatively,user device 110 may store other types of profile information (e.g.,address information, etc.) that may indicate a relationship between theuser and the recipient of the text message. According to anotherimplementation, contextual provider component 415 may access socialnetworks to which the user belongs to determine a relationship betweenthe user and the recipient of the text message. For example, a user maystore social network account information (e.g., login information) onuser device 110. Contextual provider component 415 may proactively(e.g., periodically, etc.) or reactively access social networks usingthe social network account information and retrieve/obtain relationshipinformation. According to an exemplary implementation, when contextualprovider component 415 retrieves/obtains relationship information,contextual provider component 415 may associate the relationshipinformation (e.g., create a relationship tag, a separate list, etc.) toa contact list entry associated with the recipient. In this way,relationship information may be used to assist in determining aclassification for the text message.

Machine learning classifier component 420 may determine a classificationfor a text message based on classification information provided bynatural language component 405, user mood component 410, and/orcontextual provider component 415 using conventional methods (e.g.,reinforcement learning, adaptive learning, etc). According to anexemplary embodiment, machine learning classifier component 420 may mapthe classification information provided by natural language component405, user mood component 410, and/or contextual provider component 415to one or more classifications. An exemplary implementation for mappingclassification information to classifications is described furtherbelow.

Machine learning classifier component 420 may also include a confidencevalue that indicates a certainty level for a determined classification.According to an exemplary implementation, classification information maybe assigned a confidence value. For example, semantic information may beassigned a confidence value, a mood of the user may be assigned aconfidence value, and a relationship between the user and the recipientmay be assigned a confidence value. Other types of classificationinformation, such as, for example, time of day, day of the week, whetherit is a holiday, etc., may be assigned a confidence value. However, thistype of classification information may be more definitive. According toan exemplary implementation, this type of classification information maybe assigned a static confidence value. Additionally, according toanother implementation, a confidence value associated withclassification information may be assigned based on an interrelationshipwith other classification information.

Text enhancer component 425 may include text enhancements to a textmessage based on a determined classification provided by machinelearning classifier component 420. For example, text enhancer component425 may include images, emoticons, animation, color, font style, fontsize, and/or font weight to the text message based on the determinedclassification. Text enhancer component 425 may also include othereffects (e.g., user device 110 may add vibration, etc.) to enhance theexpression of the text message, to indicate a mood of the user, toindicate a context in which the text message is written, etc. Anexemplary mapping between classification and text enhancements isdescribed further below. Text enhancer component 425 may compare aconfidence value to a threshold value to determine whether a certaintylevel has been met to permit text enhancement. Text enhancer component425 may include metadata with a text message, at a sending user device110, to indicate that text enhancement has been performed. Textenhancement 425 may also recognize, at a receiving user device 110,whether text enhancement has been performed based on the existence ofthe metadata.

Although FIG. 4 illustrates exemplary functional components of userdevice 110, in other implementations, user device 110 may include fewerfunctional components, additional functional components, differentfunctional components, and/or a different arrangement of functionalcomponents than those illustrated in FIG. 4 and described. Additionally,or alternatively, one or more operations described as being performed bya particular functional component may be performed by one or more otherfunctional components, in addition to or instead of the particularfunctional component, and/or one or more functional components may becombined.

FIG. 5A is a diagram illustrating exemplary processes performed by thefunctional components described with respect to FIG. 4. As illustrated,natural language component 405 may perform natural language processing510 of a text message 505, user mood component 410 may determine 515 amood of user 105, and contextual provider component 415 may obtain 520contextual information (e.g., relationship information, time of day,user location, etc.). Machine learning component 420 may receive thisclassification information and determine 525 a classification for textmessage 505.

FIG. 5B is a diagram illustrating an exemplary classification table 530.According to an exemplary implementation, machine learning component 420may use classification table 530 to map classification information toone or more classifications. In this example, classification table 530may include classification information, such as, semantic information(e.g., meaning of the text message), time of day information, day ofweek information, holiday information, user location information, usermood information, and relationship information. According to otherimplementations, classification table 530 may include additionalclassification information, fewer classification information, and/ordifferent classification information.

Classification table 530 may include different types of classification.For example, one category of classification may relate to the mood ofthe user (e.g., happy, sad, upset, romantic, humorous, serious, etc.).Classification table 530 may also include other categories ofclassification, such as, for example, business, personal, casual,formal, informational, querying, emergency, important, urgent, etc.Further, classification table 530 may include combinations thereof(e.g., sad and personal, business and important, etc.). According to anexemplary implementation, machine learning classifier component 420 maymanage classification table 530, its informational content, mappings,etc.

According to an exemplary implementation, machine learning classifiercomponent 420 may select a classification based on an aggregateconfidence value (e.g., a summation of confidence values associated withthe classification information (i.e., mood of the user, relationship ofthe user, etc.). Additionally, or alternatively, according to anotherexemplary implementation, machine learning classifier component 420 mayuse other techniques to select a classification (e.g., prior history ofclassification selections, statistical analysis, feedback from user,etc.).

FIG. 5C is a diagram illustrating an exemplary text enhancement table550. According to an exemplary implementation, text enhancer component425 may use text enhancement table 550 to map classifications to one ormore text enhancements. In this example, text enhancements may includefont size, font style, font weight, animation, images emoticons, color,and vibration. According to other implementations, text enhancementtable 550 may include additional text enhancements, fewer textenhancements, and/or different text enhancements.

As previously described, according to an exemplary embodiment, textenhancer component 425 may determine whether a certainty level has beenmet before text enhancement is recommended for a text message. Accordingto an exemplary implementation, text enhancer component 425 may comparea confidence value (e.g., an aggregate confidence value) to a thresholdvalue to determine whether a certainty level has been met to permit textenhancement. According to another implementation, text enhancercomponent 425 may user other techniques (e.g., statistical analysis,prior history, etc.) to determine whether a certainty level has beenmet, with respect to the selected classification, before textenhancement is included with the text message.

According to an exemplary embodiment, user device 110 may store variousfont sizes, font styles, font weights, animations, images (e.g.,pictures, icons, etc.), emoticons, colors (e.g., colors for text, colorsto be used as a background, etc.) that may be mapped to one or moreclassifications. User device 110 may also store various vibrationalpatterns to indicate an emotional state of the user or other attributeassociated with the text message and/or classification information.According to an exemplary implementation, when text enhancer component425 determines that the certainty level has been met, text enhancercomponent 425 may present text enhancements (e.g., via a graphical userinterface) to the user based on the determined classification. The usermay then select the text enhancements the user would like to includewith the text message. Additionally, in instances when text enhancercomponent 425 determines that the certainty level has not been met, textenhancer component 425 may not present a selection of text enhancementsto the user, unless requested by the user.

FIGS. 6A and 6B are flow diagrams illustrating an exemplary process 600for providing text enhancement. According to an exemplary embodiment,process 600 may be performed by user device 110 (e.g., a sending userdevice 110 of a text message). According to another exemplaryembodiment, process 600 may be performed by a combination of devices(e.g., user device 110 and a server). For example, one or moreoperations of process 600 may be performed by a server. By way ofexample, natural language processing may be performed by a server andthe meaning of the text message may be provided to user device 110.

Process 600 may include receiving a text input (block 605). For example,a user may enter a text message that is received by user device 110 viakeys 220. The text message may correspond to an email, an SMS message,an MMS message, an IM, or the like.

Natural language processing may be performed (block 610). For example,as previously described, natural language component 405 of user device110 may perform natural language processing on the text message. Naturallanguage component 405 may determine the meaning of the text message.

A mood of the user may be determined (block 615). For example, aspreviously described, user mood component 410 may determine a mood ofthe user.

Contextual information may be obtained (block 620). For example, aspreviously described, contextual provider component 415 of user device110 may obtain contextual information. For example, the contextualinformation may include the user's location, time of day, day of week,whether it is a holiday, and/or a relationship between the user and arecipient of the text message.

A classification may be selected (block 625). For example, as previouslydescribed, machine learning classifier component 420 of user device 110may select a classification for the text message. According to anexemplary embodiment, machine learning classifier component 420 may mapthe meaning of the text message, the mood of the user, and contextualinformation to one or more classifications. For example, according to anexemplary implementation, machine learning classifier component 420 mayuse classification table 530. According to an exemplary implementation,machine learning classifier component 420 may select a classificationbased on an aggregate confidence value. According to otherimplementations, machine learning classifier component 420 may use othertechniques to select a classification (e.g., prior history ofselections, statistical analysis, etc.).

It may be determined whether a certainty level is met (block 630). Aspreviously described, text enhancer component 425 may determine whethera certainty level has been met. For example, according to an exemplaryimplementation, text enhancer component 425 may compare the aggregateconfidence value to a threshold value to determine whether a certaintylevel has been met. According to other implementations, text enhancercomponent 425 may use other techniques, as previously described.

If it is determined that the certainty level is not met (block 630-NO),process 600 may end (block 635). For example, as previously described,text enhancer component 425 may not present a selection of textenhancements to the user that corresponds to the selectedclassification.

If it is determined that the certainty level is met (block 630-YES),text enhancements may be included (block 640), as illustrated in FIG.6B. For example, as previously described, text enhancer component 425may present a selection of text enhancements to the user thatcorresponds to the selected classification. According to an exemplaryembodiment, text enhancer component 425 may use text enhancement table550 to provide the user with selections of text enhancements. The usermay select from one or more of the text enhancements. Text enhancercomponent 425 may include the selected text enhancements with the textmessage.

A text message that includes text enhancements may be sent (block 645).For example, as previously described, user device 110 may send the textmessage that includes text enhancements to the recipient. Additionally,according to an exemplary implementation, user device 110 may includemetadata to the text message to indicate to, for example, a receivingmessaging client, that the text message includes text enhancements.

Although FIGS. 6A and 6B illustrate an exemplary process 600, in otherimplementations, process 600 may include additional operations, feweroperations, and/or different operations than those illustrated anddescribed with respect to FIGS. 6A and 6B.

In addition, while a series of blocks has been described with regard toprocess 600, the order of the blocks may be modified in otherimplementations. Further, non-dependent blocks may be performed inparallel.

FIGS. 7A and 7B are flow diagrams illustrating an exemplary process 700for providing text enhancements. According to an exemplary embodiment,process 700 may be performed by user device 110 (e.g., a receiving userdevice 110 of a text message). According to another exemplaryembodiment, process 700 may be performed by a combination of devices(e.g., user device 110 and a server). For example, one or moreoperations of process 700 may be performed by a server. By way ofexample, natural language processing may be performed by a server andthe meaning of the text message may be provided to user device 110.

A text message may be received (block 705). For example, as previouslydescribed, user device 110 may receive a text message from another userdevice 110. The other user device 110 may have text enhancementcapabilities or may not have text enhancement capabilities.

It may be determined whether metadata exists (block 710). For example,as previously described, user device 110 may determine whether metadataexists indicating that the text message includes text enhancements. Ifit is determined that metadata exists (block 710-YES), the text messageincluding the text enhancements may be displayed (block 715). Forexample, user device 110 may display the text message that includes thetext enhancements. If it is determined that metadata does not exist(block 710-NO), natural language processing may be performed (block720). For example, as previously described, natural language component405 of user device 110 may perform natural language processing on thetext message. Natural language component 405 may determine the meaningof the text message.

Contextual information may be obtained (block 725). For example, aspreviously described, contextual provider component 415 of user device110 may obtain contextual information. For example, the contextualinformation may include the time of day, day of week, whether it is aholiday, and/or a relationship between the user and the sender of thetext message.

A classification may be selected (block 730). For example, as previouslydescribed, machine learning classifier component 420 of user device 110may select a classification for the text message. According to anexemplary embodiment, machine learning classifier component 420 may mapthe meaning of the text message and contextual information to one ormore classifications. For example, according to an exemplaryimplementation, machine learning classifier component 420 may useclassification table 530. According to an exemplary implementation,machine learning classifier component 420 may select a classificationbased on an aggregate confidence value. According to otherimplementations, machine learning classifier component 420 may use othertechniques to select a classification (e.g., prior history ofselections, statistical analysis, etc.).

Referring to FIG. 7B, it may be determined whether a certainty level ismet (block 735). As previously described, text enhancer component 425may determine whether a certainty level has been met. For example,according to an exemplary implementation, text enhancer component 425may compare the aggregate confidence value to a threshold value todetermine whether a certainty level has been met. According to otherimplementations, text enhancer component 425 may use other techniques,as previously described.

If it is determined that the certainty level is not met (block 735-NO),process 700 may end (block 740). For example, as previously described,text enhancer component 425 may not include text enhancements with thetext message.

If it is determined that the certainty level is met (block 735-YES),text enhancements may be included (block 745). For example, aspreviously described, text enhancer component 425 may select textenhancements that correspond to the selected classification. Textenhancer component 425 may include the selected text enhancements withthe text message. Text with text enhancements may be displayed (block750). For example, user device 110 may display the text message thatincludes the text enhancements to the user.

Although FIGS. 7A and 7B illustrate an exemplary process 700, in otherimplementations, process 700 may include additional operations, feweroperations, and/or different operations than those illustrated anddescribed with respect to FIGS. 7A and 7B.

In addition, while a series of blocks has been described with regard toprocess 700, the order of the blocks may be modified in otherimplementations. Further, non-dependent blocks may be performed inparallel.

CONCLUSION

The foregoing description of implementations provides illustration, butis not intended to be exhaustive or to limit the implementations to theprecise form disclosed. Modifications and variations are possible inlight of the above teachings or may be acquired from practice of theteachings.

The terms “comprise,” “comprises,” “comprising,” as well as synonymsthereof (e.g., include, etc.), when used in the specification is takento specify the presence of stated features, integers, steps, orcomponents but does not preclude the presence or addition of one or moreother features, integers, steps, components, or groups thereof. In otherwords, these terms mean inclusion without limitation.

The article “a,” “an,” and “the” are intended to mean one or more items.Further, the phrase “based on” is intended to mean “based, at least inpart, on” unless explicitly stated otherwise. The term “and/or” isintended to mean any and all combinations of one or more of the listeditems.

Further certain features described above may be implemented as a“component” or logic that performs one or more functions. This componentor logic may include hardware, such as processing system 305 (e.g., oneor more processors, one or more microprocessors, one or more ASICs, oneor more FPGAs, etc.), a combination of hardware and software (e.g.,applications 315), a combination of hardware, software, and firmware, ora combination of hardware and firmware.

No element, act, or instruction used in the present application shouldbe construed as critical or essential to the implementations describedherein unless explicitly described as such.

1. A method comprising: receiving, by a user device, text authored by auser to create a text message; interpreting a meaning of the text;determining a mood of the user; obtaining contextual informationassociated with the text message, wherein the contextual informationincludes relationship information between the user and a recipient ofthe text message; selecting, by the user device, a classification forthe text message based on a least one of the meaning of the text, themood of the user, or the contextual information; and displaying, by theuser device, text enhancements for the text message from which the usercan select, wherein the text enhancements are based on theclassification.
 2. The method of claim 1, wherein the text enhancementscomprise at least one of a font size, a font weight, a font style, ananimation, an image, an emoticon, a color, or a vibrational pattern. 3.The method of claim 1, wherein the contextual information furthercomprises at least one of a user's location, a time of day, a day of aweek, or whether it is a holiday, and the method comprising: determininga location of the user.
 4. The method of claim 1, further comprising:receiving a user selection for the text enhancements; including theselected text enhancements with the text message; and sending the textmessage with the selected text enhancements to the recipient.
 5. Themethod of claim 1, further comprising: comparing a confidence valueassociated with the classification to a threshold value; determiningthat a certainty level is met when the confidence value exceeds thethreshold value; and displaying the text enhancements to the user whenthe confidence value exceeds the threshold value.
 6. The method of claim5, further comprising: adding metadata to the text message, wherein themetadata indicates that the text message includes the text enhancements;and sending the text message with the text enhancements and the metadatato the recipient.
 7. The method of claim 6, further comprising:receiving the text message with the text enhancements and the metadata;determining whether the text message includes the metadata; anddisplaying the text message with the text enhancements when the textmessage includes the metadata.
 8. The method of claim 5, furthercomprising: determining that the certainty level is not met when theconfidence value does not exceed the threshold value; omitting todisplay the text enhancements to the text message from which the usercan select when the certainty level is not met; and sending the textmessage to the recipient.
 9. The method of claim 1, further comprising:receiving a text message; determining whether the received text messageincludes metadata, wherein the metadata indicates that the received textmessage includes text enhancements; interpreting a meaning of thereceived text message when the received text message does not includethe metadata; and displaying the text message with text enhancementsbased on the meaning of the received text message.
 10. A user devicecomprising components configured to: receive text authored by a user tocreate a text message; interpret a meaning of the text; determine a moodof the user; select a classification for the text message based on themeaning of the text and the mood of the user; display text enhancementsfor the text message from which the user can select, wherein the textenhancements are based on the classification; receive a selection by theuser for the text enhancements; include the text enhancements selectedby the user with the text message; and send the text message with thetext enhancements to a recipient.
 11. The user device of claim 10,wherein the user device comprises a radio telephone.
 12. The user deviceof claim 10, wherein the text message comprises one of an e-mail, amultimedia messaging service message, or an instant message, and thetext enhancements comprise at least one of a font size, a font weight, afont style, an animation, an image, an emoticon, a color, or avibrational pattern.
 13. The user device of claim 10, wherein thecomponents are further configured to: obtain a facial expression of theuser; determine the mood of the user based on the facial expression; andwhen selecting a classification, the components are further configuredto: map the mood of the user and the meaning of the text to theclassification; and determine whether a confidence value associated withthe classification exceeds a threshold value.
 14. The user device ofclaim 10, wherein the components are further configured to: obtaincontextual information associated with the text, wherein the contextualinformation comprises a one or more of a user location or a relationshipbetween the user and the recipient; and when selecting theclassification, the components are further configured to: select theclassification for the text message based on the contextual information.15. The user device of claim 14, wherein the components are furtherconfigured to: store and manage a mapping between classifications andmeanings of text, moods, and contextual information; and store andmanage a mapping between classifications and text enhancements.
 16. Theuser device of claim 10, wherein the components are further configuredto: receive a text message; determine whether the received text messageincludes metadata, wherein the metadata indicates that the received textmessage includes text enhancements; interpret a meaning of the receivedtext message when the received text message does not include themetadata; display the text message with text enhancements based on themeaning of the received text message.
 17. The user device of claim 16,wherein the components are further configured to: select aclassification for the received text message based on the meaning of thereceived text message; and select text enhancements based on theclassification of the received text message.
 18. A computer-readablemedium containing instructions executable by at least one processingsystem, the computer-readable medium storing instructions to: receivetext authored by a user to create a text message; interpret a meaning ofthe text; determine a mood of the user; obtain contextual information,wherein the contextual information comprises at least one of time ofday, day of the week, whether it is a holiday, a user location, or arelationship between the user and a recipient of the text message;select a classification for the text message based on the meaning of thetext, the mood of the user, and the contextual information; display textenhancements for the text message from which the user can select,wherein the text enhancements are based on the classification; receive auser selection for the text enhancements; include the user selected textenhancements with the text message; and send the text message with thetext enhancements to the recipient.
 19. The computer-readable medium ofclaim 18, wherein the computer-readable medium resides in a user devicecomprising a radio telephone.
 20. The computer-readable medium of claim19, when obtaining the relationship between the user and the recipient,the computer-readable medium further storing one or more instructionsto: access a social network associated with the user; determine therelationship between the user and the recipient based on the accessing;and associate relationship information with a contact entry of acontacts list stored by the user device.